#ifndef ETEXTUREMANAGER_H
#define ETEXTUREMANAGER_H

#include "../Engine_global.h"
class ETexture;
struct SDL_Surface;

class ENGINESHARED_EXPORT ETextureManager
{
    typedef std::map<std::string, boost::shared_ptr<ETexture> > Textures;
public:
    ETextureManager();

    boost::shared_ptr<ETexture> loadTextureFromFile(const std::string& path);
    boost::shared_ptr<ETexture> texture(const std::string& path);
private:
    int generateTextureFromSurface(SDL_Surface* pSurface);
    Textures m_textures;
};

#endif // ETEXTUREMANAGER_H
